import { auth, getUserInfo } from './auth.js'

/**
 * 应用初始化
 */
export function appInit() {
	// 检查登录状态
	checkLoginStatus()
}

/**
 * 检查登录状态
 */
async function checkLoginStatus() {
	const token = auth.getToken()
	
	if (!token) {
		// 没有token，直接跳转登录页
		redirectToLogin()
		return
	}

	try {
		// 验证token有效性
		const result = await getUserInfo()
		if (result.code === 200) {
			// token有效，更新用户信息
			auth.setUserInfo(result.data)
			console.log('用户已登录:', result.data.userName)
		} else {
			// token无效，清除认证信息并跳转登录
			auth.clearAuth()
			redirectToLogin()
		}
	} catch (error) {
		console.error('验证登录状态失败:', error)
		// 验证失败，清除认证信息并跳转登录
		auth.clearAuth()
		redirectToLogin()
	}
}

/**
 * 跳转到登录页
 */
function redirectToLogin() {
	const pages = getCurrentPages()
	const currentPage = pages[pages.length - 1]
	
	// 如果当前不在登录页或注册页，则跳转到登录页
	if (currentPage && !currentPage.route.includes('login') && !currentPage.route.includes('register')) {
		uni.reLaunch({
			url: '/pages/login/login'
		})
	}
}
